from pydantic import BaseModel
from typing import List, Optional
from enum import Enum


class ContentType(str, Enum):
    """文案类型"""
    DAILY = "daily"           # 日常
    MOOD = "mood"             # 心情
    FOOD = "food"             # 美食
    TRAVEL = "travel"         # 旅行
    WORK = "work"             # 工作
    LOVE = "love"             # 情感
    INSPIRATION = "inspiration" # 励志

class ContentStyle(str, Enum):
    """文案风格"""
    WARM = "warm"             # 温暖
    HUMOR = "humor"           # 幽默
    LITERARY = "literary"     # 文艺
    SIMPLE = "simple"         # 简约
    ELEGANT = "elegant"       # 雅致
    POETIC = "poetic"         # 诗意


class GenerateRequest(BaseModel):
    """生成文案请求"""
    content_type: ContentType
    style: ContentStyle
    keywords: Optional[List[str]] = []
    length: Optional[int] = 50  # 文案长度


class CopywritingResponse(BaseModel):
    """文案响应"""
    content: str
    content_type: ContentType
    style: ContentStyle
    created_at: str